﻿using System;
using System.IO;

namespace Mono.Cecil.PE {

	class BinaryStreamReader : BinaryReader {

		public BinaryStreamReader (Stream stream)
			: base (stream)
		{
		}

		protected void Advance (int bytes)
		{
			BaseStream.Seek (bytes, SeekOrigin.Current);
		}

		protected DataDirectory ReadDataDirectory ()
		{
			return new DataDirectory (ReadUInt32 (), ReadUInt32 ());
		}

		protected void Align (int align)
		{
			align--;

			var position = BaseStream.Position;

			position = ((position + align) & ~align) - position;

			BaseStream.Seek (position, SeekOrigin.Current);
		}
	}
}
